以Access为前端,以sql server为后端

您所在的位置:网站首页 access 写sql 以Access为前端,以sql server为后端

以Access为前端,以sql server为后端

2024-07-11 06:28| 来源: 网络整理| 查看: 265

我有一些带有许多字段的Access表。我已经将每个访问表迁移到6或7个SQL Server表。我正在使用sql server2008。现在我想使用Access作为前端,这样我就可以在Access中输入数据,但是它将存储在sql server中。我知道我必须建立一个ODBC连接。但是我不确定如何创建访问表单以将其用作前端。很抱歉,这是一个基本问题...

您可能想从一个空的Access数据库开始(因为表结构以及任何现有的表单和报表将与您在SQL Server中创建的内容不匹配)。

第一步是建立与SQL Server数据库的ODBC连接。然后,您将"链接" SQL Server中的表到您的Access数据库。

现在,您有了一个Access数据库,其中包含从SQL Server链接的所有表。这些表仍在SQL Server中"活动",并且在Access中对其进行编辑时,数据将存储在SQL Server中。

然后您可以使用这些表构建Access表单和报表,就像这些表是Access的本机一样。

相关讨论 为什么为ADP需要DSN或ODBC连接?通过SQLOLEDB的SQL Server连接是内置的。 DSN也是部署开销。自Access 2000/2003起就存在ADP。 取决于用户的偏好。 ADP是另一个有效的解决方案。我的经验是迁移到链接表(如果所有表结构都是新的,则对该用户而言不太重要)。 @LarryLustig我已经通过转到Administrative Tools->DataSources->System DSN->added the sql server and the database name I wanted to use as front end与sql服务器建立了ODBC连接,现在我也通过使用sp_addlinkedserver 'connect', 'Access 2007','Microsoft.ACE.OLEDB.12.0', 'C:\\connect.accdb'在sql服务器中进行了链接,但是来自sql server的表未显示在空访问数据库中。这里出问题了吗? 在Access中,找到链接表管理器。从SQL Server数据库中选择所需的表。现在,它们应该出现在Access的表列表中(它们旁边带有一个图标,表明它们是链接的而不是本地的表)。 @LarryLustig谢谢,我明白了,我在linking the tables上失败了。现在,我为DSN及其工作指定了正确的路径名!从长远来看,如果我继续使用访问作为前端还是应该切换到dotnet接口,是否有任何问题需要考虑(我必须在dotnet longg进程中学习和编码,呵呵!) 这是一个折腾。您可以使用更通用的编程语言编写更丰富的界面,但是您可以在短时间内在Access中进行大量开发。

最通用的方法是使用ODBC链接到SQL Server表和视图。通过这种方法,您可以灵活地链接到其他ODBC数据源,其他Jet / ACE数据库文件中的表,在数据库中本地创建Jet / ACE表,链接到Excel电子表格等等。您可以合并各种数据源。

如果选择ADP,则只能将OLE DB连接到单个SQL Server实例。您实际上将被锁定在SQL Server中。如果不进行大量重新开发,您将无法将应用程序切换到其他客户端服务器数据库。

关于ODBC的部署开销,尽管您可能会发现在开发过程中使用DSN很方便,但是在部署之前,应将ODBC链接转换为无DSN的连接。这样,您的用户就不需要每个DSN了。请参阅Doug Steele的页面:使用DSN-Less连接

相关讨论 我创建了一个空的访问数据库。我已经通过转到要用作前端的Administrative Tools->DataSources->System DSN->added the sql server and the database名称完成了到sql服务器的ODBC连接。现在我也已经通过使用sp_addlinkedserver 'connect', 'Access 2007','Microsoft.ACE.OLEDB.12.0', 'C:\\connect.accdb'在sql服务器中进行了链接,但是sql server中的表未显示为空。访问数据库..我在这里哪里出错了? 创建DSN时,请勿添加任何有关Access的信息。您的DSN将描述与SQL Server的连接的属性。它不是特定于Access的东西,但是应该可以被任何可以使用ODBC连接的应用程序使用。 谢谢,知道了,我在linking the tables中失败了。现在,我为DSN及其工作指定了正确的路径名!您能否建议我,从长远来看,哪种最适合用作前端Access或dotnet中的接口? 在您对Larry的评论中,您表示需要学习Dot.Net。因此,也许这就是您应该采取的方式。 OTOH,也许您现在需要一个基于功能的基于表单的SQL Server接口。如果是这样,Access对于快速开发数据库应用程序来说是无与伦比的。这就是存在的理由!

您可以创建一个ODBC连接。您也可以创建一个ADODB连接。如果您的目标是更新或修改SQL数据库,则两个连接都可以解决问题。

现在,我想您必须熟悉相应的对象。这些应该是表,查询,命令等,它们将使您能够例如从SQL查询中构建记录集。通过Set myForm.recordset = myRecordset.open ...方法。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3